import Vue from 'vue'
import VueRouter from 'vue-router'
import store from "@/store";

Vue.use(VueRouter)

const routes = [{
        path: '/',
        redirect: "/home"
    },
    {
        path: '/home',
        name: 'home',
        component: () =>
            import ('../views/Home.vue')
    },
    {
        path: '/goods',
        name: 'goods',
        component: () =>
            import ('../views/Goods.vue')
    },
    {
        path: '/user',
        name: 'user',
        component: () =>
            import ('../views/User.vue'),
        redirect: "/user/cart",
        children: [{
            path: "cart",
            component: () =>
                import ("../components/user/Cart.vue")
        }, ],

        // beforeEnter: (to, from, next) => {
        //     let token = localStorage.getItem("x-auth-token");
        //     if (token) {
        //         next();
        //     } else {
        //         store.dispatch("showToast/asyncShowToast", {
        //             isShow: true,
        //             msg: "请先登录!!",
        //             type: "error",
        //         });
        //     }
        // }
    },
    {
        path: '/order',
        name: 'order',
        component: () =>
            import ('../views/Order.vue')
    },
    {
        path: '/free',
        name: 'free',
        component: () =>
            import ('../views/Free.vue')
    },
    {
        path: '/details',
        name: 'details',
        component: () =>
            import ('../views/Details.vue')
    },
    {
        path: '*',
        name: 'error',
        component: () =>
            import ('../components/Error.vue')
    },
]

const router = new VueRouter({
    mode: 'history',
    base: process.env.BASE_URL,
    routes
})

// 把这段代码直接粘贴到router/index.js中的Vue.use(VueRouter)之前
const originalPush = VueRouter.prototype.push;
VueRouter.prototype.push = function(location) {
    return originalPush.call(this, location).catch((err) => {});
};
// 全局前置守卫
// router.beforeEach((to, from, next) => {
//     if (to.path == "/user") {
//         let token = localStorage.getItem("x-auth-token");
//         if (token) {
//             next();
//         } else {
//             store.dispatch("showToast/asyncShowToast", {
//                 isShow: true,
//                 msg: "请先登录!!",
//                 type: "error",
//             });
//         }
//     } else {
//         next();
//     }
// });
export default router